Integrated circuit for targeted bitlength manipulation for serial data transmission

ABSTRACT

An integrated circuit for generating targeted bitlength manipulation of a transmitter for output of a serial datastream is disclosed, wherein a control unit ( 5 ) provides instructions regarding the respective partial bits in the form of a partial bit vector ( 7 ) depending on bit statuses to be sent, and determines the bitlengths for the serial datastream for output ( 9 ) to the wire or a signaling converter. A datastream ( 9 ) is generated using two partial bit register chains ( 14   a - d,    15   a - d ), whose serial outputs ( 16, 17 ) are connected using a joining gate.

[0001] The invention relates to an integrated circuit for targeted bitlength manipulation of a transmitter for serial data transmission. This integrated circuit is particularly suitable for integrated digital logic units.

[0002] As serial bus systems are further improved, increases in the data transfer rate or the maximum wire length may cause distortion of bit lengths in the wires, which have a progressively more serious effect on the quality of the transmission. Particularly in serial data transmission through optical waveguides, as the bit rate rose the transmission medium had to be improved correspondingly. Equalization means on the receiver and complex integrated circuit for restoring the serial datastream are known from a number of sources including German Patent Nos. DE 33 35 418 A1 or DE 198 55 707 A1. A further possibility for improving the transmission quality consists in pre-emphasizing the serial data signal in the transmitter. To ensure the most finely adjusted temporal differentiation possible in the pre-emphasis, high partial bit resolution is necessary. The disadvantage of this, however, is that in digital circuits, higher partial bit resolution requires a higher clock speed in order to generate a bit. All components of the integrated circuit used to generate a partial bit must possess the same rapid internal switching capability.

[0003] A receiving device for bit-serial asynchronous data transmission is known from German Patent No. DE 33 35 418 A1. A measurement device which includes digital logic elements and is connected to a delay line is used to detect the received data signal in temporal relation to a local clock of the receiver. A gating device, known as a priority encoder, strips control signals accordingly, so that the data bits are called in their correct phase in each case. For this purpose, the phase position of the local clock must be brought into the desired temporal position relative to the received clock using a clock control unit. However, the clock control unit described here must be supported by high-performance signal runtimes to the logic gates that are used in the clock control unit. These high demands in terms of signal runtimes cannot generally be satisfied in field programmable gate arrays (FPGAs).

[0004] German Patent No. DE 198 55 707 A1 describes a device for generating a low-distortion receiving signal for high bit-rate transmissions. The receiving signal is analyzed in the receiver, wherein a pre-emphasis device in the receiver generates the bits of the outgoing datastream based on the result of this analysis. The means for analyzing the receiving signal is extraordinarily complicated, because the weighting of each bit is done on the basis of a series of measurement points. “Monitors” receive measurement points and control the pre-emphasis unit based on the results of measurement. This means for providing a low-distortion receiving signal also requires extremely sophisticated and rapid components, which analyze the receiving signal and address the pre-emphasis unit based on the results of this analysis. Such a device for providing a low-distortion receiving signal can only be integrated in field programmable gate arrays (FPGAs), if at all, with the application of extremely complex circuit design. A further disadvantage that applies to all pre-emphasis devices in receivers is that after a certain degree of distortion, the receiving signal is no longer recognizable and plausible pre-emphasis is therefore no longer possible.

[0005] In “High Speed Communication with RS-422/485, Elektronik Industrie [Electronics Industry], 9 2001”, pre-emphasis of a data signal in the transmitter is described. In the temporal pre-emphasis, the “system clock” must be an integral multiple of the bit clock (data rate). It follows that the smallest partial bit length is directly dependent on the system clock, which means that when very short partial bits are essential to allow precise adjustment of the bit lengths to the transmission path, a fast system clock is needed.

[0006] A settable clock generation within an FPGA is described in “Virtex-II Platform FPGA Handbook, Xilinx, Dec. 6, 2000”. This clock generation is capable of providing multiple timing signals at one clock rate in different phase positions. With this settable clock generation, it is possible to measure up to 4 timing signals having the same clock rate but in different phase positions. However, the set phase position of the respective timing signal can only be initialized before the device is put into operation, i.e. it must be preset and cannot be altered during operation. A phase position that is controllable during operation can only be changed by stages, which means that it is not possible to manipulate a bit over a longer temporal range.

[0007] The object of the invention is to provide a simple and inexpensive circuit design for targeted bitlength manipulation for serial transmission of data. The integrated circuit generates the datastream to be transmitted, in which the bits for output are subjected to a targeted bitlength manipulation process. The integrated circuit is realized by means of highly integrated field programmable gate arrays (FPGAs) with digital logic units, wherein the requirements of the “internal system clock” are not very stringent, with the result that the integrated circuit may be provided with the internal runtimes of the FPGAs.

[0008] The object is solved according to the invention with the features described in claim 1.

[0009] The serial datastream to be transmitted is entered serially into a “history register” with the bit clock associated with the data rate and having the scanning clock of the data rate. A gating device analyzes the datastream to be output with reference to the bit statuses in the history register. The gating device in turn indicates which individual partial bits are to be transmitted to the wire or a signaling converter—not further described here—as a serial data stream with a system clock at a speed that is a multiple of the prior clock. The rules regarding the number of partial bits by which each bit is to be manipulated are stored as values in the gating device, or are provided by another device, which is not further described here. Multiple partial bit register chains are provided, wherein each register chain is clocked relative to the next partial bit register chain with a phase shifted system clock. In the simplest case the integrated circuit according to the invention has two partial bit register chains, wherein the first is clocked using the system clock, and the second is clocked with the inverse of the system clock, thereby achieving a phase shift of 180 degrees. Both partial bit register chains are loaded with the parallel data vector determined by the gating unit before each bit to be output. Using an “offset” arrangement of the partial bits in the partial bit register chains, the partial bits are always output according to half the periodic duration of the system clock. In this case, the term “offset arrangement” is understood to mean that, for example, in the first partial bit register chain, starting with bit 0, every second partial bit thereafter in the first partial bit register chain is preloaded in parallel, and in the second partial bit register chain, starting with bit 1, every second partial bit thereafter in the second partial bit register chain is preloaded in parallel. A gate as a joining link of the serial output from the first partial bit register chain with the serial output from the second partial bit register chain generates the pre-emphasized serial datastream to be output. The gate is the only internal circuit component which must have a rapid response capability and minimal runtime differentials for the output of a “0” status as compared with the output of a “1” status.

[0010] Key to Figures

[0011]1: History register

[0012]2: Serial datastream Ser_Data

[0013]3: CLK_B, scanning clock for serial datastream

[0014]4: History bit vector

[0015]5: Control unit

[0016]6: CLK_TB, system clock

[0017]7: Partial bit vector TB0 to TB7

[0018]8: Bit generator

[0019]9: Generated datastream Ser_Data_Out

[0020]10: “Load” control signal for accepting partial bit vector

[0021]11: Multiplexer

[0022]12 a-h: Register

[0023]13: Multiplexer

[0024]14 a-d: Register of the first register chain

[0025]15 a-d: Register of the second register chain

[0026]16: Serial output of the first register chain

[0027]17: Serial output of the second register chain

[0028]18: Gate

[0029]19: CLK_TB_(—)180, 180 degree phase-inverted system clock

[0030]20: Bit length

[0031]21: First “1” shortening

[0032]22: Second “1” shortening

[0033]23: Start time

[0034] Captions to Figures:

[0035]FIG. 1: shows an overview of the functional components for bitlength manipulation of a serial datastream.

[0036]FIG. 2: shows a circuit arrangement for generating manipulated bits in the conventional manner (prior art).

[0037]FIG. 3: shows an example of the integrated circuit according to the invention for generating manipulated bits.

[0038]FIG. 4: shows the timing behavior of signals in the integrated circuit according to the invention in a timing diagram.

[0039]FIG. 1 shows the functional components for bit length manipulation in a transmitter for serial data transmission. The serial data stream 2 for transmission is read into history register 1 one bit at a time together with its scanning clock CLK_B 3. The clock frequency of scanning clock CLK_B 3 matches the data rate of serial data stream 2. For every bit that is read into history register 1, control unit 5 receives “history bit vector 4, which contains the bit status of the bit that is currently due for transmission and the status of the previous and the following bits. Based on the respective statuses of the previous and the following bits, the gating unit determines the bit length of the bit that is currently due to be transmitted and transfers this information to bit generator 8 with the aid of partial bit vector 7. Control signal “Load” 10 activates the acceptance of partial bit vector 7 in bit generator 8 at the same temporal interval as the data rate. In order to generate the individual bits for the datastream to be output “Ser_Data_Out” 9, bit generator 8 requires a faster system clock CLK_TB 6, at which the clock period corresponds to the partial bit length. For example, faster system clock CLK_TB 6 may have a clock frequency four times faster than the scanning clock CLK_B 3.

[0040]FIG. 2 shows a circuit arrangement for generating bits of the datastream 9 to be output, in which for example each bit to be output is generated from eight partial bits. An active “Load” control signal 10 switches the eight multiplexers 11 to switching status “B” so that each associated partial bit is incident at the input for each register 12 a-h for loading this register. After a further system clock CLK_TB 6, all eight multiplexers 11 are switched to position “A”, so the output from first register 12 a is connected to the input to second register 12 b, the output from second register 12 b is connected to the input to third register 12 c, and so on. System clock CLK_TB 6 thus serves to ensure that all eight registers 12 a-h are constantly synchronized throughout the process, with the result that the contents of the individual registers is output in series as datastream 9 for output. The respective status of the eighth register 12 h provides the total serial datastream 9 for output. At the same time, however, the integrated circuit in this example must be capable of processing the signals for the serial datastream eight times as fast as rate of scanning clock CLK_B 3. It is very difficult to integrate this circuit arrangement in field programmable gate arrays (FPGAs) because the processing speed of the FPGAs is too slow at high data rates. For example, if the clock frequency of the system clock is 16 MHz, a data transfer rate of 2 MBit/s must be assured.

[0041] In order to be able to increase the data rate of the serial datastream for the same number of partial bits, the register chains must be divided into two or more register chains as shown in FIG. 3, wherein the registers of each register chain is clocked with a system clock in different phase positions. The following description refers to two register chains, but the integrated circuit may be arranged to work with multiple register chains. The first register chain consists of registers 14 a-d, and is clocked with system clock CLK_TB 6. The second register chain consists of registers 15 a-d, and is clocked with system clock CLK_TB_(—)180 19, which is phase shifted through 180 degrees. The first register 14 a of the first register chain is loaded with partial bit TB0, second register 14 b with partial bit TB2, third register 14 c with partial bit TB4, fourth register 14 d with partial bit TB6. First register 15 a of the second register chain is loaded with partial bit TB1, second register 15 b with partial bit TB3, third register 15 c with partial bit TB5, fourth register 15 d with partial bit TB7. The parallel loading of all registers is achieved by the switching of multiplexers 13 to switching position “B”. The multiplexers are addressed via “Load” control signal 10. Manipulated datastream 9 is generated using gate 18 as a joining OR connection of serial output 16 of the first register chain with serial output 17 of the second register chain. In this way, the registers of the first and second register chains only have to process all signals four times as fast as the data rate of the serial datastream. For a system clock of 16 MHz, therefore, a data rate of 4 Mbit/s must be generated when 8 partial bits make up one databit.

[0042]FIG. 4 is a timing diagram that represents the functioning of the output of the manipulated datastream 9 as determined by partial bit vectors 7 TB0 . . . TB7. For purposes of simplicity, only the clock for the registers of the first partial bit register chain is shown, according to which the registers of the first partial bit register chain are clocked with the positive timing edge, and the registers of the second partial bit register chain are clocked with the negative timing edge. At starting time 23, the partial bit vector is loaded into registers 14 a-14 d and 15 a-15 d. The “1” status of “Load” control signal 10 switches the multiplexers to position “B”, which causes the respective partial bit 7 to be incident at the input of the associated register 14 a-d, 15 a-d. With the first negative timing edge of timing signal 6 CLK_TB, the status of partial bit TB7 is output to serial output 17 of the second register chain. With the first positive timing edge of timing signal 6 CLK_TB, the status of partial bit TB6 is output to serial output 16 of the first register chain. Thereafter, “Load” control signal 10 for partial bit addition is deactivated for the remainder of the bit length period, so that the sequential switching of the registers of the first and second register chains each form an offset register. With the second negative timing edge of timing signal 6 CLK_TB, the status of partial bit TB5 is output to serial output 17 of the second register chain. With the second positive timing edge of timing signal 6 CLK_TB, the status of partial bit TB4 is output to serial output 16 of the first register chain. Output 9 from gate 18 is created through the combining OR connection of serial output 16 of the first register chain with serial output 17 of the second register chain. In the exemplary circuit arrangement, status “1” at either of the two serial outputs 16, 17 always provides status “1” to output 9 of gate 18. However, the combining connection can also be constructed by other means. With the third negative timing edge of timing signal 6 CLK_TB, the “1” status of partial bit TB3 is output to serial output 17 of the second register chain. With the third positive timing edge of timing signal 6 CLK_TB, the “1” status of partial bit TB4 is output to serial output 16 of the first register chain. With the fourth negative timing edge of timing signal 6 CLK_TB, the “0” status of partial bit TB1 is output to serial output 17 of the second register chain. With the fourth positive timing edge of timing signal 6 CLK_TB, the “0” status of partial bit TB4 is output to serial output 16 of the first register chain, which results in a shortening 21 of the “1” status to be output after this time. With the fourth positive timing edge of timing signal 6 CLK_TB the status of “Load” control signal 10 is also switched to “1”, which causes the multiplexers to be returned to position “B”, so that they can load the partial bit vector for the second bit to be output. After this, each partial bit is incident on the input of the associated register 14 a-d, 15 a-d. Then, ,the serial partial bit output is repeated as described above. The second “1” shortening 22 is also achieved by attachment of the associated partial bit vector 7. In this case, the first two registers 14 a and 14 b of the first register chain receive status “0” via the associated partial bits TB0 and TB2. First register 15 a of the second register chain also receives status “0” via the associated partial bit TB1. The serial output of the partial bit statuses is carried out in the manner described above. Each individual bit to be output is generated from instructed partial bits 7. The integrated circuit according to the invention also allows manipulations in the form of other temporal status sequences of the partial bits for any bit status. 

1. An integrated circuit for generating targeted bitlength manipulation of a transmitter for output of a serial datastream, wherein a control unit (5) provides instructions regarding the respective partial bits in the form of a partial bit vector (7) depending on bit statuses, so that the bitlengths are determined for the serial datastream for output (9) to the wire or a signaling converter, characterized in that each bit to be output consists of at least two partial bit register chains (14 a-d, 15 a-d), which are provided to generate the bits for output.
 2. The integrated circuit according to claim 1, characterized in that an individual system clock (16, 19) is provided for each partial bit register chain.
 3. The integrated circuit according to claim 1 or 2, characterized in that when two partial bit register chains are used, a first partial bit register chain is clocked with a non phase-shifted system clock (6) and a second partial bit register chain is clocked with a system clock (19) that is phase-shifted through 180 degrees.
 4. The dircuitry according to claim 1 or 2, characterized in that when four partial bit register chains are used, a first partial bit register chain is clocked with a non phase-shifted system clock and a second partial bit register chain is clocked with a system clock that is phase-shifted through 90 degrees, and a third partial bit register chain is clocked with a system clock that is phase-shifted through 180 degrees, and a fourth partial bit register chain is clocked with a system clock that is phase-shifted through 270 degrees.
 5. The integrated circuit according to any of claims 1 to 4, characterized in that the partial bit register chains are loaded in parallel with the instructed value of the partial bit vector (7).
 6. The integrated circuit according to any of claims 1 to 5, characterized in that the registers (14 a-d, 15 a-d) of the partial bit register chains are loaded in parallel with the instructed value of the partial bit vector (7) at the start of the respective bit for output.
 7. The integrated circuit according to any of claims 1 to 6, characterized in that a multiplexer (13) is used to switch the input of a register (14 a-d, 15 a-d) of the partial bit register chain during loading in parallel on each provided partial bit.
 8. The integrated circuit according to any of claims 1 to 7, characterized in that the outputs (16, 17) of the last register in each case (14 d, 15 d) of all partial bit register chains are joined using a joining gate (18).
 9. The integrated circuit according to any of claims 1 to 8, characterized in that a multiplexer (13) is used to switch the input of a register (14 b-d, 15 b-d) with the output of the preceding register (14 a-c, 15 a-c) of the partial bit register chain to yield serial output of the partial bits.
 10. The integrated circuit according to any of claims 1 to 9, characterized in that the integrated circuit is created using logic elements in programmable digital portion of an FPGA.
 11. The integrated circuit according to any of claims 1 to 9, characterized in that the integrated circuit is created using the logic elements in a customer-specific ASIC circuit.
 12. The integrated circuit according to any of claims 1 to 9, characterized in that the integrated circuit is created from individual standard logic elements. 